In today's world, an increasing number of application installations are performed by downloading an installation package to the computing device over a network connection, instead of transferring the software on a storage device, such as a compact disk, as done historically. The convenience of simply downloading an application over a network connection without having to deal with handling a physical storage medium makes this approach immeasurably more preferable for consumers and information technology (IT) departments of organizations alike. However, as the size of the average application grows, transferring an application's files to a computing device over a network connection in an acceptably short amount of time is becoming more and more challenging. To compound these difficulties, a rapidly increasing number of devices are relying on wireless networking as the primary mode of connectivity, which can exhibit significant bandwidth limitations.
For example, a program like Microsoft Office, available from Microsoft Corporation, can contain over 2 GB of data. Downloading 2 GB over the internet using a standard connection can take many hours, which is generally not acceptable both to users and to IT departments of organizations. To address this issue, an application's minimal set can be delivered instead, which is a relatively small subset of the application files that are sufficient to launch the application and allow a user to start using it, generally with limited functionality. With this approach, the minimal set can be downloaded to a computing device quickly, because it is small, and a user can begin using the application while the remaining files of the application are downloaded in the background over time.
However, numerous issues still remain. For example, existing approaches for producing minimal sets for applications generally attempt to predict which components of an application are necessary to launch the application and to enable the most needed basic features for the user. In the real world, however, the minimum set might be missing some features that are most useful or even critical for users and other included features might be entirely unnecessary and hence take up valuable space in the minimal set while providing little value. Further, because different types of users in an organization may utilize applications in different ways, a particular minimal set may be adequate for some groups of users while being inadequate for other groups.
A more efficient approach is desirable for managing minimal sets in enterprise environments.